body {
	font-family: Tahoma, Arial, sans-serif;
	margin: 0;
	padding: 0;
}
* {
	box-sizing:border-box;
	word-wrap: break-word;
}
.align_right {
	float: right;
}
.hidden {
	display: none;
}
nav {
	padding: 5px 20px;
	margin: 0 0 10px 0;
	border-bottom: 1px solid #CCC;
	background-color: #EEE;
	position:relative;
}
nav h1 {
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	text-shadow: -3px 3px 4px #CCC;
	cursor: pointer;
	display:inline-block;
	margin-right:20px;
}
button#user {
	float:right;
	margin:20px 5px;
}
section#login {
	position:absolute;
	background-color:white;
	z-index:100;
	border-radius:20px;
	border:3px solid #BBB;
	margin:30px auto;
	padding:10px;
	width: 50%;
	left: 25%;
	cursor: default;
	display: none;
}
section#login:target {
	display: inline-block;
}
section#login > * {
	position:relative;
	z-index:12;
}
.cover {
	position: absolute;
	text-align: center;
	left:0px;
	top:0px;
	right: 0px;
	bottom: 0px;
	width:100%;
	z-index:9001;
	background-color:rgba(200,200,200,0.8);
	cursor:pointer;
	display:none;
}
#main {
	position: absolute;
	width: 100%;
}
#main table tbody {
	width:100%;
}
#main table {
	margin-left: auto;
	margin-right: auto;
	text-align:left;/*
	border-collapse: collapse;*/
	border-spacing: 0;
	border: 1px solid black;
	
	height:550px;
}

#main table tr:nth-of-type(1) {
	height:400px;
}
#main table tr:nth-of-type(2) {
	min-height:150px;
}
/*
#main table tr td:nth-of-type(1) {
	width: 600px;
}
#main table tr td:nth-of-type(2) {
	width: 300px;
}*/
#main table td {
	/*border: 1px solid black;*/
	padding: 0;
	margin:0;
}
#main table tr:nth-of-type(2) td:nth-of-type(1) {
	height: 100%;
}
ul#chat, ul#userlist {
	list-style-type: none;
	padding: 5px 10px;
	margin: 0;
	width: 100%;
	height: 100%;
	overflow-y: scroll;
}
ul#userlist {
	border-left: 2px solid #CCC;
	padding: 0;
}
ul#chat {
	width: 600px;
}
ul#userlist li {
	border-width: 5px;
	width: 270px;
	
	/*border-top-style: solid;*/
	/*border-bottom-style: solid;*/
	border-left-style: solid;
	/*border-right-style: solid;*/
	padding: 10px 6px;
	margin: 3px 0;
	
	height:60px;
	
	overflow: hidden;
	position:relative;
}
ul#userlist li:hover {
	height: auto;
}
ul#userlist li#self {
	border-left-style: none;
	margin-top: 0px;
	margin-bottom: 8px; /* space for outline */
	padding-left: 11px; /* 5px fake border + 6px padding */
	outline: 2px solid #CCC;
	outline-offset: 3px; /* shows only on bottom */
	
	overflow:visible;
}
li#self .status-select {
	height:100%;
	position:absolute;
	top:0px;
	left:0px;
	z-index:10;
	float:left;
	margin:0;
	border-style: solid;
	border-width: 0 0 0 5px;
	
	cursor: pointer;
}
li#self:hover .status-select {
	border-left-width:8px;
	/*border-style: double;*/
	/*border-left-style: dotted;
	border-right-style:dotted;*/
	width:10px;
}
li#self:hover .status {
	border: 1px solid #BBB;
}
li#self .status:hover {
	border: 1px solid #888;
}
li#self .status-select { /* offline, aka default */
	border-color: hsl(0,0%,50%);
}
li#self.available .status-select {
	border-color: hsl(120,60%,50%);
}
li#self.busy .status-select {
	border-color: hsl(0,60%,50%);
}
li#self.idle .status-select {
	border-color: hsl(30,60%,50%);
}
li#self.banned .status-select {
	border-color: hsl(180,60%,50%);
}
/*
ul#userlist li, ul#userlist li dl {

	-webkit-transition: 0.5s ease-in-out;
	-moz-transition:    0.5s ease-in-out;
	-ms-transition:     0.5s ease-in-out;
	-o-transition:      0.5s ease-in-out;
	transition:         0.5s ease-in-out;
}*/
ul#userlist li dl {
	margin: 22px 0 0 0;
	display:none;
}
ul#userlist li:hover dl {
	display:block;
}
ul#userlist li { /* default, aka offline */
	border-color: hsl(0,0%,50%);
	background-color: hsl(0,0%,90%);
}
ul#userlist li.available {
	border-color: hsl(120,60%,50%);
	background-color: hsl(120,40%,90%);
}
ul#userlist li.busy {
	border-color: hsl(0,60%,50%);
	background-color: hsl(0,40%,90%);
}
ul#userlist li.idle {
	border-color: hsl(30,60%,50%);
	background-color: hsl(30,40%,90%);
}
ul#userlist li.banned {
	border-color: hsl(180,60%,50%);
	background-color: hsl(180,40%,90%);
}

ul#userlist li:hover .user, ul#userlist li:hover .status {
	white-space:normal;
}
ul#chat li {
	list-style-type: none;
	
	text-indent: -20px;
	overflow: visible;
	margin: 0 5px 0 40px;
	
	font-size:16px;
}
ul#chat li span {
	word-wrap: pre-line;
}
ul#chat li time {
	float:right;
	color:#AAA;
	display:inline-block;
	width:70px;
	text-align: right;
}

.user {
	font-weight: bold;
	display:inline-block;
	margin: 0 5px 0 0;
	white-space: nowrap;
	text-overflow:ellipsis;
	/*max-width:200px;*/
}
ul#userlist li .user {
	overflow: hidden;
	display:block;
	padding:0 3px;
}
ul#chat li .user:after {
	content: ": ";
}
ul#userlist li .status {
	/*max-width:200px;*/
	color: #888;
	white-space:nowrap;
	display: block;
	text-overflow:ellipsis;
	overflow: hidden;
	margin: 0;
	padding:2px 3px;
}
ul#userlist dl dt {
	display:inline-block;
	font-weight: bold;
	margin-right:5px;
}
ul#userlist dl dd {
	display:inline-block;
	margin: 0;
}
ul#userlist dl dt:after {
	content: ':';
}
ul#userlist dl span {
	display:block;
}

#input {
	/*border-right: 0px none transparent;*/
	border: 1px solid #AAA;
	padding: 0;
	overflow:hidden;
	width: 600px;
	height: 100%;
	/*
	font-family: sans-serif;
	font-size: 11pt;
	resize: none;
	display: block;

	margin: 0;
	overflow-y: scroll;
	outline: 0px none transparent;
}
textarea#input:focus {
	border: 2px solid hsl(30,40%,70%);*/
}
footer {
	text-align:center;
	margin-top:10px;
}
